﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq;
using System.Text;
using BolsaTalentos.BLL;
using System.Drawing;
using BolsaTalentos.DataContextClasses;

namespace TestUnit
{
    class MainClass
    {
        static void Main(string[] args)
        {
            //UsuarioAdministrativo user = new UsuarioAdministrativo(null, "123.456", true);
            //UsuarioEgresado SomeUser = new UsuarioEgresado();
            //Aplicacion SomeApp = new Aplicacion();
            //Vacante SomeVac = new Vacante();
            //Empresa SomeEmpresa = new Empresa();

            //user.Insertar();

            /*
            UsuarioAdministrativo user = new UsuarioAdministrativo("SuperKevin", "123.456");
            Console.WriteLine(user.ID + " " + user.UserName + " " + user.PassWord + " Esta logeado");
            */

            //user.CrearNuevaEmpresa("empresa", "12345678912", "por ahi derecho", "blablabla", null);
            ///user.AceptarSolicitudDeEmpresa(11);

            //Empresa Emp = new Empresa(11);
            //Console.WriteLine(Emp.ID.ToString() + " " + Emp.Nombre + " " + Emp.RNC + " " + Emp.FechaSolicitud + " " + Emp.FechaCreacion);

            /*UsuarioEgresado Egr = new UsuarioEgresado("00-0000", "gatico.123");

            Console.WriteLine(
                Egr.ID.ToString() + " " +
                Egr.Matricula + " " +
                Egr.PassWord + " " +
                Egr.Estado + " " +
                Egr.NombreCompleto + " " + 
                Egr.Carrera + " " +
                Egr.Sexo + " " + 
                Egr.AñosDeExperienciaLaboral.ToString() + " " +
                Egr.DetalleExperienciaLaboral + " " +  
                Egr.Intereses + " " + 
                Egr.SiVehiculoPropio.ToString() + " " + 
                Egr.SiBuscaTiempoCompleto.ToString() + " Se ha logeado " );*/

            /*Aplicacion Ap = new Aplicacion(2,3,"Victoria!!!!!!");
            Ap.Insertar();
            Vacante Vac = new Vacante(2);
            foreach (var item in Vac.Aplicaciones)
            {
               Console.WriteLine(item.ID + " " + item.Aplicante.NombreCompleto + " " + item.VacanteAplicada.Descripcion + " " + item.Comentario);

            }*/
            //Console.WriteLine(Apli.ID + " " + Apli.Aplicante.NombreCompleto + " " + Apli.VacanteAplicada.Descripcion + " " + Apli.Comentario);

            /*UsuarioEgresado UsE = new UsuarioEgresado(1);
            if (UsE.Aplicaciones.Count == 0) Console.WriteLine("mal");
            foreach (var item in UsE.Aplicaciones)
            {
                Console.WriteLine(item.ID + item.Comentario);
            }*/

            /*Vacante Vac = new Vacante(4);
            foreach (var item in Vac.Aplicaciones)
            {
                Console.WriteLine(item.ID + item.Comentario);
            }*/

            //Vacante Vac = new Vacante(4);
            //foreach (var item in Vac.Habilidades)
            //{
            //    Console.WriteLine(Vac.Descripcion +" "+ item.Descripcion);
            //}
            /*Habilidad H = new Habilidad(6);
            H.Descripcion = "ALQUEMISTA NACIONAL";
            H.Actualizar();*/
            //Console.WriteLine(H.ID + " " + H.Descripcion);
            //Empresa UsE = new Empresa(13);
            /*foreach (var item in UsE.Contactos)
            {
                Console.WriteLine(UsE.Nombre + " " + item.TipoContacto + " " +item.Descripcion);
            }
            */
            //Vacante Vac = new Vacante(2);
            //List<UsuarioEgresado> a = 
            //Vac.EncontrarSolicitantes();
            //foreach (var item in a)
            //{
            //    Console.WriteLine(item.NombreCompleto);
            //}
            //try
            //{
            //    new Habilidad("Darle a F5 y a F9 a veces").Insertar();
            //    Console.WriteLine("hurrah!");
            //}
            //catch (Exception) 
            //{
            //    Console.WriteLine("ah pendejo!");
            //}

            //Empresa Emp = new Empresa(13);
            //Console.WriteLine(Emp.UsuarioCreador.UserName);
            //foreach (var item in Emp.Envios)
            //{
            //    Console.WriteLine(item.ID);
            //}
            //Console.WriteLine(Emp.Envios[0] + " " + Emp.Usuarios[0] + " " + Emp.Vacantes[0] + " " + Emp.UsuarioCreador.UserName);

            //UsuarioAdministrativo ua = new UsuarioAdministrativo("miau", "miau");

            //Empresa emp = new Empresa("el toldo verde", "00011122234", "En frente del EP", "Se imprime y saca copia barato", null, ua.ID);

            //emp.Contactos.Add(new Contacto(6, "toldo.verde@gmail.com"));
            //emp.Contactos.Add(new Contacto(7, "809-123-3210"));

            //ua.CrearNuevaEmpresa(emp);
            
            ////Console.Read();


            //DataClassesDataContext DB = new DataClassesDataContext();

            //var Query = from q in DB.UsuariosEmpresas
            //            select new 
            //            {
            //                Empresa = q.Empresa.Nombre,
            //                Usuario = q.UserName,
            //                FechaPrimerIngreso = q.FechaPrimerIngreso,
            //                FechaUltimoIngreso = q.FechaUltimoIngreso,                            
            //            };

            //foreach (var item in Query) 
            //{
            //    Console.WriteLine(item.Empresa);
            //}

            //var Query2 = from q in DB.Empresas
            //            select new
            //            {
            //                Empresa = q.Nombre,
            //                NumeroVacantes = q.Vacantes.Count,
            //                FechaSolicitud = q.FechaSolicitud,
            //                FechaIngreso = q.FechaCreacion,
            //            };

            //foreach (var item in Query2) 
            //{
            //    Console.WriteLine(item.FechaSolicitud);
            //}

            //var Query3 = from q in DB.Vacantes
            //             select new
            //             {
            //                 Vacante = q.Descripcion,
            //                 Publicante = q.Empresa.Nombre,
            //                 NumeroAplicaciones = q.Aplicaciones.Count,
            //                 FechaPublicacion = q.FechaPublicacion,
            //                 FecahCierre = q.FechaCierre,
            //             };
            
            //foreach (var item in Query3) 
            //{
            //    Console.WriteLine(item.NumeroAplicaciones);
            //}

            //var Query4 = from q in DB.Egresados
            //             where q.FechaPrimerIngreso != null
            //             select new
            //             {
            //                 Nombre = q.PrimerNombre + q.SegundoNombre + q.PrimerApellido + q.SegundoApellido,
            //                 Carrera = q.Carrera.Descripcion,
            //                 NumeroAplicaciones = q.Aplicaciones.Count,
            //             };

            //foreach (var item in Query4) 
            //{
            //    Console.WriteLine(item.Nombre);
            //}


            //var bla = Query;
            //var ble = Query2;
            //var a = Query3;
            //var r = Query4;
        }
    }
}
